#pragma once
#include <vector>
#include "SkinWindowBase.h"

class CSkinContainerWnd : public CSkinWindowBase
{
public:
    CSkinContainerWnd();
    virtual ~CSkinContainerWnd();
    BOOL IsContainer();
    virtual void LayoutChilds() = 0;
protected:
    virtual void LayoutChild( CSkinWindowBase* pWndChild );
private:
};

class CSkinDiv: public CSkinContainerWnd
{
public:
    CSkinDiv();
    virtual ~CSkinDiv();

    void LayoutChild( CSkinWindowBase* pWndChild );
    void LayoutChilds();

    virtual BOOL LoadNode( IXMLDOMNode* pNode );

    BOOL LoadChild( IXMLDOMNode* pNode );

    void OnPaint( HDC hDC );
    void OnWindowPosChanged( LPWINDOWPOS lpWndPos );
    void OnChildWindowPosChanged( LPWINDOWPOS lpWndPos );
    LRESULT OnNcCalcSize( BOOL bCalcValidRects, LPARAM lParam );
private:
    std::vector<CSkinWindowBase*> m_vecChildObj;
};